package Atributos;

import java.awt.Rectangle;

import javax.swing.ImageIcon;

/**
 * Clase Abstracta Dibujable.
 * 
 * @Project ProyectoX: Linguo 2 - The Empire Strike Back on the Lost Ark of the
 *          Temple of Doom, in a New Hope
 * 
 * @author Agra, Federico (94186)
 * @author Kwiatkowski, Estanislao (93509)
 * @author Loza, Carlos (94399)
 * 
 */
public abstract class Dibujable {

	// Aributos
	protected Punto pnt;
	protected ImageIcon imagen;

	/**
	 * Contructor de la clsae Dibujable
	 * 
	 * @param _x
	 *            : es la coordenada x del punto
	 * @param _y
	 *            : es la coordenada y del punto
	 */
	public Dibujable(int _x, int _y) {
		pnt = new Punto(_x, _y);
	}

	/**
	 * Contructor de la clsae Dibujable
	 * 
	 * @param _p
	 *            : es el punto del dibujable
	 * @param _tipo
	 *            : es el tipo del dibujable
	 */
	public Dibujable(Punto _p) {
		pnt = _p;

	}

	/**
	 * getX
	 * 
	 * @return la coordenada X del Dibujable
	 */
	public int getX() {
		return pnt.getX();
	}

	/**
	 * setX
	 * 
	 * @param _x
	 *            : es la nueva coordenada X del dibujable
	 */
	public void setX(int _x) {
		pnt.setX(_x);
	}

	/**
	 * getY
	 * 
	 * @return la coordenada Y del Dibujable
	 */
	public int getY() {
		return pnt.getY();
	}

	/**
	 * setY
	 * 
	 * @param _y
	 *            : es la nueva coordenada Y del dibujable
	 */
	public void setY(int _y) {
		pnt.setY(_y);
	}

	/**
	 * getPunto
	 * 
	 * @return el punto del dibujable
	 */
	public Punto getPunto() {
		return pnt;
	}

	/**
	 * getImagen
	 * 
	 * @return la imagen del Dibujable
	 */
	public ImageIcon getImagen() {
		return imagen;
	}

	/**
	 * setImagen
	 * 
	 * @param imagen
	 *            : es la nueva imagen del Dibujable
	 */
	public void setImagen(ImageIcon imagen) {
		this.imagen = imagen;
	}

	/**
	 * getBounds
	 * 
	 * @return el rectangulo que ocupa la imagen del Dibujable
	 */
	public Rectangle getBounds() {
		return new Rectangle(pnt.getX(), pnt.getY(), 50, 50);
	}

}
